Out-of-band point of sale activation for electronic power tool devices

ABSTRACT

An electronic power tool device includes an electronic processor, a communication interface in communication with the electronic processor, and a wake-up sensor configured to generate a wake signal for activating the communication interface and the electronic processor responsive to a stimulus. The communication interface is configured to receive a first electronic message that includes an activation state and transmit the first received electronic message to the electronic processor. The electronic processor is configured to control the activation state of the electronic power tool device to allow or prevent operation of the electronic power tool device based on the first received electronic message.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/126,400, filed Dec. 18, 2020, which claims the benefit of U.S.Provisional Patent Application No. 62/949,884, filed Dec. 18, 2019, theentire content of each of which is hereby incorporated by reference.

TECHNICAL FIELD

Embodiments described herein relate to systems and devices for reducingtheft of electronic power tool devices.

SUMMARY

In some embodiments, a method is provided for controlling an activationstate of an electronic power tool device. The method includes waking theelectronic power tool device by providing a stimulus at a wake-up sensorof electronic the electronic power tool device. Information associatedwith the electronic power tool device is received by an activationdevice, and an activation state code is generated by the activationdevice based on the received information. The activation state code istransmitted by the activation device to the electronic power tooldevice. The activation state code is configured to control theactivation state of the electronic power tool device upon being receivedat the electronic power tool device. The activation state defines anunlock state or a lock state.

In some embodiments, a method is provided for controlling an activationstate of an electronic power tool device. The method includes waking theelectronic power tool device responsive to a stimulus at a wake-upsensor of the electronic power tool device. Information associated withthe electronic power tool device is sent by the electronic power tooldevice to an activation device. An activation state code based on thereceived information is received by the electronic power tool devicefrom the activation device. The activation state code is configured tocontrol the activation state of the electronic power tool device uponbeing received at the electronic power tool device. The activation statedefines an unlock state or a lock state.

In some embodiments, an electronic power tool device is disclosed. Theelectronic power tool device includes an electronic processor, acommunication interface in communication with the electronic processor,and a wake-up sensor configured to generate a wake signal for activatingthe communication interface and the electronic processor responsive to astimulus. The communication interface is configured to receive a firstelectronic message that includes an activation state and transmit thefirst electronic message to the electronic processor. The electronicprocessor is configured to control the activation state of theelectronic power tool device to allow or prevent operation of theelectronic power tool device based on the first received electronicmessage.

In some embodiments, a method is provided for locking an electronicpower tool device. The method includes waking the electronic power tooldevice responsive to a stimulus at a wake-up sensor of the electronicpower tool device, receiving, at a locking device, informationassociated with the electronic power tool device, and generating, at thelocking device, a lock code based on the received information. Themethod further includes transmitting, by the locking device, the lockcode to the electronic power tool device. The lock code is configured tolock the electronic power tool device upon being received at theelectronic power tool device.

In some embodiments, an electronic power tool device is disclosed. Theelectronic power tool device includes a wake-up sensor, an electronicprocessor and a communication interface in communication with theelectronic processor. The wake-up sensor generates a wake signal foractivating the communication interface and the electronic processorresponsive to a stimulus. The communication interface is configured toreceive a first electronic message that includes a lock code. Thecommunication interface is further configured to transmit the firstreceived electronic message to the electronic processor. The electronicprocessor is configured to prevent operation of the electronic powertool device based on the first received electronic message.

In some embodiments, the stimulus at the wake-up sensor is out-of-bandwith respect to the first electronic message received at thecommunication interface.

In some embodiments, a method is provided for unlocking an electronicpower tool device. The method includes waking the electronic power tooldevice responsive to a stimulus at a wake-up sensor of the electronicpower tool device, receiving, at an unlocking device, informationassociated with the electronic power tool device, and generating, at theunlocking device, an unlock code based on the received information. Themethod further includes transmitting, by the unlocking device, theunlock code to the electronic power tool device. The unlock code isconfigured to unlock the electronic power tool device upon beingreceived at the electronic power tool device.

In some embodiments, the stimulus at the wake-up sensor is out-of-bandwith respect to the transmission of the unlock code.

In some embodiments, a method for locking and unlocking a power tooldevice is disclosed. The method includes waking the electronic powertool device responsive to a first stimulus, receiving a lock signal atthe electronic power tool device and preventing operation of theelectronic power tool device by an electronic processor of theelectronic power tool device based on receiving the lock signal. Themethod further includes waking the electronic power tool deviceresponsive to a second stimulus, receiving an unlock signal at theelectronic power tool. The unlock signal is received based on anauthorized purchase of the electronic power tool being verified. Themethod further includes permitting operation of the electronic powertool device by the electronic processor of the electronic power tooldevice based on receiving the unlock signal.

In some embodiments, the electronic power tool device is at least oneselected from the group of a battery-powered power tools, a corded powertool, a power tool battery pack used to power battery-powered powertools, or an electronic device powered by a power tool battery pack.

One or more embodiments are described and illustrated in the followingdescription and accompanying drawings. These embodiments are not limitedto the specific details provided herein and may be modified in variousways. Furthermore, other embodiments may exist that are not describedherein. Also, the functionality described herein as being performed byone component may be performed by multiple components in a distributedmanner. Likewise, functionality performed by multiple components may beconsolidated and performed by a single component. Similarly, a componentdescribed as performing particular functionality may also performadditional functionality not described herein. For example, a device orstructure that is “configured” in a certain way is configured in atleast that way, but may also be configured in ways that are not listed.Furthermore, some embodiments described herein may include one or moreelectronic processors configured to perform the described functionalityby executing instructions stored in non-transitory, computer-readablemedium. Similarly, embodiments described herein may be implemented asnon-transitory, computer-readable medium storing instructions executableby one or more electronic processors to perform the describedfunctionality. As used in the present application, “non-transitorycomputer-readable medium” comprises all computer-readable media but doesnot consist of a transitory, propagating signal. Accordingly,non-transitory computer-readable medium may include, for example, a harddisk, a CD-ROM, an optical storage device, a magnetic storage device, aROM (Read Only Memory), a RAM (Random Access Memory), register memory, aprocessor cache, or any combination thereof.

In addition, the phraseology and terminology used herein is for thepurpose of description and should not be regarded as limiting. Forexample, the use of “including,” “containing,” “comprising,” “having,”and variations thereof herein is meant to encompass the items listedthereafter and equivalents thereof as well as additional items. Theterms “connected” and “coupled” are used broadly and encompass bothdirect and indirect connecting and coupling. Further, “connected” and“coupled” are not restricted to physical or mechanical connections orcouplings and can include electrical connections or couplings, whetherdirect or indirect. In addition, electronic communications andnotifications may be performed using wired connections, wirelessconnections, or a combination thereof and may be transmitted directly orthrough one or more intermediary devices over various types of networks,communication channels, and connections. Moreover, relational terms suchas first and second, top and bottom, and the like may be used hereinsolely to distinguish one entity or action from another entity or actionwithout necessarily requiring or implying any actual such relationshipor order between such entities or actions.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for locking and unlocking battery-poweredpower tools, according to some embodiments.

FIG. 2 is a block diagram of an example battery-powered power tool,according to some embodiments.

FIG. 3 is a block diagram of an example locking device of FIG. 1,according to some embodiments.

FIG. 4 is a block diagram of an example unlocking device of FIG. 1,according to some embodiments.

FIG. 5 is a flowchart illustrating a control method for locking abattery-powered power tool.

FIG. 6 is a flowchart illustrating a control method for unlocking abattery powered power tool.

FIG. 7 is a block diagram of an example external rechargeable batterypack, according to some embodiments.

FIG. 8 is a process diagram illustrating a process for generating anunlock code using a hashing function.

FIG. 9 is a process diagram illustrating a process for generating anunlock code using a digital signature function.

FIG. 10 is a process diagram illustrating a process for generating anunlock code using an external application programming interface (API)authorization function.

DETAILED DESCRIPTION

Loss prevention for retailers is a high priority, especially forbattery-powered power tools. Due to the compact size, ease of use, anddesirability of battery-powered power tools, theft of these devices hasincreased. This increase in theft has been detrimental to the retailstores selling the power tools. Accordingly, systems, devices, andmethods for reducing and preventing theft of battery-powered power toolsare desirable.

Embodiments disclosed herein relate to systems, devices, and methods forpreventing operation of a battery-powered power tool until thebattery-powered power tool has been legitimately purchased, and thepurchase has been verified. An out-of-band technique is employed forinitiating the hardware for registering and enabling the battery-poweredpower tool.

FIG. 1 illustrates an example system 100 for locking and unlockingbattery powered power tools throughout the supply chain. The supplychain is shown to include a manufacturing facility 102, awarehouse/distribution center 104, and a retail store 106. A supplychain may include multiple manufacturing facilities 102,warehouse/distribution centers 104, and/or retail stores 106, and thesupply chain shown in FIG. 1 is for example purposes only. Additionalintermediate facilities or warehouses may also be utilized in a supplychain. The manufacturing facility 102 is shown to include a lockingdevice 108 a and power tool devices 110, identified as power tooldevices 110 a-c. Only three power tool devices 110 are shown forillustration purposes, but the system 100 may include any number ofpower tool devices 110. As described herein, the power tool devices 110may be any battery-powered power tools, corded power tools, power toolbattery packs used to power battery-powered power tools, or electronicdevices powered by power tool battery packs that are also able to powerbattery-powered power tools (i.e., when disconnected from an electronicdevice and connected to a battery-powered power tool). Examples ofbattery-powered power tools and corded power tools include, but are notlimited to: drills, hammer drills, reciprocating saws, circular saws,drivers, lights, radios, impact drivers, drain snakes, power ratchets,miter saws, die grinders, mixers, grinders, sanders, nailers, tablesaws, and the like. Examples of electronic devices powered by power toolbattery packs include motorized and non-motorized devices including, butnot limited to: worksite fans, worksite radios, worksite lights, andtest and measurement devices (for example, distance measurers, infraredthermometers, borescope cameras, or stud finders). In other examples, inaddition to or in place of the power tool devices 110 a-c, the system100 includes other battery-powered devices, and the following discussionof the locking and unlocking features and methods described belowsimilarly applies to such other battery-powered devices. The power tooldevices 110 a-c, as well as those described further herein, may bereferred to simply as “tools” for the sake of brevity and clarity, andthe terms should be understood to be used interchangeably. The lockingdevice 108 a may be configured to communicate with one or more of thetools 110 a-c to prevent operation of the tools 110 a-c, as will bedescribed in more detail below.

Upon leaving the manufacturing facility 102, one or more of the tools110 a-c may be transported to various facilities as shown in FIG. 1. Insome embodiments, the locking device 108 a locks the tools 110 a-c priorto the tools being transported. For example, the locking device 108 amay be coupled to a shipping bay to automatically lock all tools 110 a-cupon leaving the transportation bay. In some embodiments, the tools 110a-c are selectively locked based on the ultimate destination. Forexample, tools 110 a-c that are slated to be transported ultimately to aretail store (e.g. brick and mortar location) may be locked via lockingdevice 108 a prior to being loaded for transport, while tools 110 a-cthat are slated to be transported to an online retailer may not belocked prior to transport.

Some or all of the tools 110 a-c may be received at thewarehouse/distribution center 104, as shown in FIG. 1. Thewarehouse/distribution center 104 may serve as an intermediate locationin the supply chain for tools 110 a-c. The warehouse/distribution center104 includes one or more locking devices 108 b, and tools 110 a-c. Whiletools 110 a-c are shown in FIG. 1 as being within thewarehouse/distribution center 104, it is understood that multiple toolsmay be located in the warehouse/distribution center 104, and that thetools 110 a-c are for example purposes only. The locking device 108 bmay be similar to locking device 108 a, and will be described in moredetail below. As described above, the locking device 108 b areconfigured to communicate with one or more tools 110 a-c, and to “lock”the tools 110 a-c to prevent their operation, as will be described belowin more detail. In some examples, the locking device 108 b is configuredto lock the tools 110 a-c upon arrival to the warehouse/distributioncenter 104. In other examples, the locking device 108 b locks the tools110 a-c when the tools 110 a-c leave the warehouse/distribution center104. In some examples, as described above, the locking device 108 b isconfigured to selectively lock the tools 110 a-c based on their ultimatedestination (e.g. brick and mortar retail, online retail, etc.). Uponleaving the warehouse/distribution center 104, the tools 110 a-c may beput into transportation again, as shown in FIG. 1.

Some or all of tools 110 a-c may be received at the retail store 106. Insome examples, the tools 110 a-c may be received at multiple retailstores 106, and it is understood that the retail store 106 in FIG. 1 isfor example purposes only. The retail store 106 may include areceiving/stock room area 112, a shelving/showroom area 114, and a pointof sale 116. The receiving/stock room area 112 may include a lockingdevice 108 c and the tool 110 a. It should be understood that thereceiving/stock room may include more tools or fewer tools, and that insome instances all tools received at the retail store 106 may be locatedin the receiving/stock room area 112 at some point in the retail system.The locking device 108 c is configured to lock the tool 110 a uponreceiving the tool 110 a at the receiving/stock room area 112. Forexample, the receiving/stock room area 112 may position the lockingdevice 108 c at a receiving dock, and the locking device 108 c may beconfigured to lock all tools upon their receipt at the receiving/stockroom area 112. In other examples, the locking device 108 c is a portableor hand-held device that lets a user individually lock the tool 110 aupon the tool 110 a being received. In still further examples, thelocking device 108 c may be configured to lock the tool 110 a when it islogged in, or otherwise marked as received by the retail store 106.

The shelving/showroom area 114 may further include a locking device 108d in communication with the tool 110 a. The locking device 108 d isconfigured to lock the tool 110 a when the tool 110 a is placed on theshelving/showroom area 114. For example, the locking device 108 d may bea handheld device that is used by an employee of the retail store tolock the tool 110 a upon placing the tool 110 a onto theshelving/showroom area 114. However, other locking device designs arecontemplated.

The point of sale 116 may be a kiosk or cashier station where a customercompletes the purchase of a tool, such as the tool 110 a. In someembodiments, the point of sale 116 includes an electronic processor,memory, and a communication interface, and is in communication with oneor more unlocking device 118. In some embodiments, the unlocking device118 is directly coupled to the point of sale 116. In other embodiments,the unlocking device 118 is in communication with the point of sale 116in various ways, such as via a wireless connection, a networkedconnection, or the like. The unlocking device 118 is configured tounlock a tool, such as the tool 110 a. The unlocking device 118 will bedescribed in more detail below. In one example, the unlocking device 118is configured to unlock the tool 110 a upon receiving a communicationfrom the point of sale 116 indicating that the tool has been purchasedby a customer. Thus, the unlocking device 118 can allow the tool 110 ato be unlocked upon a bona fide purchase of the tool 110 a beingverified via the point of sale 116.

The system 100 further includes a remote server 120 and a cloud-basedserver 122. The remote server 120 and/or the cloud-based server 122 areconfigured to interface with the locking devices 108 a-d, the unlockingdevice 118, the point of sale 116, and, in some instances, the tools 110a-c. In one embodiment, the remote server 120 and/or the cloud-basedserver 122 provide communication between the manufacturing facility 102,the warehouse/distribution center 104, and/or the retail store 106, aswell as the devices therein. In some embodiments, the system 100 mayhave one or both of the remote server 120 and/or the cloud-based server122. In other embodiments, the system 100 may not have either the remoteserver 120 and/or the cloud-based server 122.

Turning now to FIG. 2, a block diagram of an electronic power tool 200,such as tools 110 a-c is shown, according to some embodiments. The powertool 200 may be any of the battery-powered power tools described abovein regards to FIG. 1. The block diagram of electronic power tool 200 isfor example purposes and it is understood that other designs andcomponents are contemplated for various electronic power tools. Theelectronic power tool 200 (hereinafter “tool”) includes a processingcircuit 202, a communication interface 204, a wake-up sensor 205, anInput/Output (“I/O”) interface 206, a user interface 208 a power supply210, an external power source 212, one or more power switches 214, amotor 216, and an output shaft 218. The processing circuit 202 mayinclude an electronic processor 220 and a memory 222. The processingcircuit 202 may be communicably connected to one or more of thecommunication interface 204, the I/O interface 206, the user interface208, the power supply 210, and the power switches 214. The electronicprocessor 220 may be implemented as a programmed microprocessor, anapplication specific integrated circuit (ASIC), one or more fieldprogrammable gate arrays (FPGA), a group of processing components, orother suitable electronic processing components.

The memory 222 (e.g. memory, memory unit, storage device, etc.) includesone or more devices (e.g., RAM, ROM, Flash memory, hard disk storage,etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described herein.Memory 222 can be or include volatile memory or non-volatile memory.Memory 222 can include database components, object code components,script components, or any other type of information structure forsupporting the various activities and information structure described inthe present application. According to one example, the memory 222 iscommunicably connected to the electronic processor 220 via theprocessing circuit 202 and can include computer code for executing(e.g., by the processing circuit 202 and/or the electronic processor220) one or more processes described herein.

The communication interface 204 is configured to facilitatecommunications between the processing circuit 202 and one or moreexternal devices and/or networks. The communication interface 204 can beor include wired or wireless communications interfaces (e.g., jacks,antennas, transmitters, receivers, transceivers, wire terminals, etc.)for conducting data communications between the tool 200 and one or moreexternal devices, such as the locking devices and unlocking devicesdescribed herein. In some embodiments, the communication interface 204is a wireless communication interface such as cellular (3G, 4G, LTE,CDMA, 5G, etc.), Wi-Fi, Wi-MAX, ZigBee, ZigBee Pro, Bluetooth, BluetoothLow Energy (BLE), RF, LoRa, LoRaWAN, Near Field Communication (NFC),Radio Frequency Identification (RFID), Z-Wave, 6LoWPAN, Thread, WiFi-ah,and/or other wireless communication protocols. Additionally, thecommunication interface 204 may include wired interfaces such asUniversal Serial Bus (USB), USB-C, Firewire, Lightning, CATS, universalasynchronous receiver/transmitter (UART), serial (RS-232, RS-485), etc.In some embodiments, the communication interface 204 communicates via anantenna 224.

The I/O interface 206 allows for communication with one or more externaldevices, which may include product accessories. The I/O interface 206may further facilitate communication with other components inside thetool 200, such as the communication interface 204 and the user interface208, as well as the processing circuit 202. The user interface 208 mayinclude a trigger, a mode selector, or other user accessible controlsthat can generate control signals in response to the user actuating oroperating the associated component of the user interface 208. In someembodiments, the user interface 208 may include a display or othervisual indicating device that may provide a status of the tool 200, suchas an operating status, a battery charge status, a locked/unlockedstatus, etc.

The control signals from the user interface 208 may be transmitted tothe processing circuit 202, which may be configured to activate the oneor more power switches 214 to draw power from the power supply 210 andexternal power source 212 and drives the motor 216. In one embodiment,the power switches 214 may be Field Effect Transistors (FETs). However,other power switch types are contemplated, such as BJT transistors, CMOStransistors, insulated gate bipolar transistors (IGBT), etc. Byselectively enabling and disabling the power switches 214, power fromthe power supply 210 is selectively applied to stator windings of themotor 216 to cause rotation of a rotor of the motor 216. The rotatingrotor of the motor 216 drives the output shaft 218. Although not shown,the processing circuit 202 and other components 235 of the tool 200 arealso electrically coupled to and receive power from the external powersource 212. In some embodiments, the external power source is a powertool battery pack that is selectively engageable with the power tool andincludes one or more battery cells, such as a lithium-ion (Li-Ion)battery cells or NiCad battery cells. In some embodiments, the tool 200is a corded power tool and the external power source 212 is utilitygrid-powered alternating current (AC) outlet.

As noted above, while one or more of the power tool devices 110 of FIG.1 may be a battery-powered power tool, such as the tool 200 illustratedin FIG. 2, the power tool devices 110 of FIG. 1 may also be a power toolbattery pack (see FIG. 7, discussed below) or another electronic devicepowered by power tool battery pack. With respect to these electronicdevices powered by power tool battery packs, the block diagram of thetool 200 in FIG. 2 similarly applies to motorized electronic devicespowered by power tool battery packs. Further, the block diagram of thetool 200 in FIG. 2 is similarly applicable to non-motorized electronicdevices powered by power tool battery packs, except that, in place ofone or more of the power switches 214, motor 216, and output shaft 218,a non-motorized load is provided (e.g., a light, speaker, or sensor).

The wake-up sensor 205 generates a wake signal for activating the tool200 to allow locking or unlocking of the tool 200. To reduce batterypower consumed while the tool 200 is in the supply chain prior to beingdelivered to a purchaser, various elements of the tool 200, such as theelectronic processor 220, the communication interface 204, and the I/Ointerface 206 may be placed into a deep sleep state. The wake-up sensor205 generates the wake signal responsive to a predetermined stimulus toactivate the elements of the tool 200 used to perform locking orunlocking features. In some embodiments, the wake-up sensor 205 respondsto an electrical stimulus, such as a magnetic swipe, an electroniccommunication, or a switch activation. In some embodiments, the wake-upsensor 205 responds to a mechanical stimulus, such as a particularsound, motion, or vibration pattern.

As noted above, in the external power source 212 is a power tool batterypack, such as illustrated in further detail in FIG. 7, that powers thevarious components within the power tool 200. However, in someembodiments, the power tool battery pack is not provided for sale withthe power tool 200 or, even if sold with the power tool 200, it is notcoupled to the power tool 200 at the time of sale. Accordingly, in someembodiments, an internal power source 226 is provided to power selectelements of the power tool 200, such as the processing circuit 202 andthe communication interface 204. The internal power source 212 may be,for example, a coin cell battery or another small battery cell. In someembodiments, the internal power source 212 may be charged by the powersupply 210 when an external power source 12 is coupled to the powersupply 210. In some embodiments, the internal power source 226 includesa wireless charging circuit as is configured to be charged by a wirelesscharger 228. The internal power source 226 may be charged by thewireless charger 228 in the manufacturing facility 102, thewarehouse/distribution center 104, or the retail store 106 (e.g., wherethe wireless charger 228 is integrated into or attached to a retailshelf within the store). For example, the wireless charger 228 maygenerate a varying current through a transmitter antenna, whichgenerates a varying electromagnetic field, which induces current in areceiving coil of the wireless charging circuit of the internal powersource 212 through induction. The induced current is then used as acharging current to increase the state of charge of the internal powersource 226. In some embodiments, the tool 200 provides an alert, such asan audible alert or a status indicator, on the user interface 208 whenthe charge on the internal power source 226 falls below a threshold, asdetermined by the electronic processor 220. In some embodiments, theinternal power source 226 is provided as an external power source thatconnects to terminals on the power tool 200.

In some embodiments, the wake-up sensor 205 includes an identificationtag 230, such as a radio frequency identification (RFID) tag or nearfield communication (NFC) tag, which generates the wake signalresponsive to a transaction being conducted with the identification tag230, such as a read transaction or a write transaction implemented by aninterrogator (e.g., the locking device 300 or unlocking device 400). Forexample, the interrogator may generate a varying current through atransmitter antenna, which generates a varying electromagnetic field toinduce current in a receiving coil of the identification tag 230 throughinduction. The induced current then powers a circuit of theidentification tag 230 that generates the wake signal. In one example,the circuit may include a processor that, for example, compares anencoded signal in the interrogator transmission to a stored code (e.g.,stored in a memory element of the wake-up sensor 205). In the case of amatch, the wake-up sensor 205 outputs the wake signal.

In some embodiments, the location of the identification tag may bemarked by a visual indicator, such as a symbol, on a housing of the tool200. In some embodiments, an external antenna may be provided in thepackaging of the tool 200 that communicates with the wake-up sensor 205.A symbol for interfacing with the wake-up sensor 205 may be provided onan outer surface of the packaging. Multiple interface locations may bemarked if the packaging contains multiple tools 200. In someembodiments, the interrogator may have sufficient strength to readmultiple identification tags concurrently. Information associated with ascanning code on the packaging, such as a universal product code (UPC),serial number, or the like, may indicate the number of tools 200 in thepackage. In some embodiments, information indicating the number of tools200 in the package may be stored in the identification tag.

In some embodiments, the wake-up sensor 205 includes a magnetic stripcard reader wherein a card (e.g., of the retailer) is swiped in thereader. The wake-up sensor 205, in response to the swipe, determines anencoded signal, compares the encoded signal to a stored code (e.g.,stored in a memory element of the wake-up sensor 205). In the case of amatch, the wake-up sensor 205 outputs the wake signal.

In some embodiments, the wake-up sensor 205 includes a motion sensor,such as an accelerometer, and a processing circuit to receive signalsfrom the motion sensor. The motion sensor outputs signals in responseto, and indicative of, predetermined motions, such as accelerations,detected by the accelerometer. In one embodiment, the processing circuitcompares the received output signals from the motion sensor to athreshold value (e.g., stored in a memory element of the wake-up sensor205), and when the motion exceeds the threshold value, the wake signalis generated. Accordingly, in one example, the wake-up sensor 205 isconfigured to output the wake signal in response to the power tool 200being shaken. The threshold can be set to various values, the set valuethereby specifying the intensity level of shaking that will cause thewake-up sensor 205 to generate the wake signal. In another example, aprocessing circuit compares the received output signals from the motionsensor to a predetermined pattern of signals corresponding to apredetermined motion (e.g., stored in a memory element of the wake-upsensor 205). When the motion signals match the predetermined pattern,the wake signal is generated. Accordingly, in one example, the wake-upsensor 205 is configured to output the wake signal in response to thepower tool 200 being moved in a predetermined motion (e.g., up, down,left and then right, or in a circle).

As noted, in other embodiments, the wake-up sensor 205 includes othersensing elements, but may operate using similar principals as describedabove. For example, the wake-up sensor 205 may include a push-buttonswitch (when depressed, the wake signal is generated) or a microphone(when a certain audio signal pattern is matched or threshold is reached,the wake signal is generated). In some embodiments, other types ofwake-up sensors 205 are provided.

Turning now to FIG. 3, a block diagram illustrating an example lockingdevice 300 is provided, according to some embodiments. The lockingdevice 300 may be similarly configured to the locking devices 108 a-d,described above. The locking device 300 includes a processing circuit302, a communication interface 304, an I/O interface 306, and a userinterface 308. The processing circuit 302 may be communicably connectedto one or more of the communication interface 304, the I/O interface306, and the user interface 308. The processing circuit 302 includes anelectronic processor 310 and a memory 312. The electronic processor 310may be implemented as a programmed microprocessor, an applicationspecific integrated circuit (ASIC), one or more field programmable gatearrays (FPGA), a group of processing components, or other suitableelectronic processing components.

The memory 312 (e.g. memory, memory unit, storage device, etc.) includesone or more devices (e.g., RAM, ROM, Flash memory, hard disk storage,etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described herein.Memory 312 can be or include volatile memory or non-volatile memory.Memory 312 can include database components, object code components,script components, or any other type of information structure forsupporting the various activities and information structure described inthe present application. According to one example, the memory 312 iscommunicably connected to the electronic processor 310 via theprocessing circuit 302 and can include computer code for executing(e.g., by the processing circuit 302 and/or electronic processor 310)one or more processes described herein.

The communication interface 304 is configured to facilitatecommunications between the processing circuit 302 and one or moreexternal devices and/or networks. The communication interface 304 can beor include wired or wireless communications interfaces (e.g., jacks,antennas, transmitters, receivers, transceivers, wire terminals, etc.)for conducting data communications between the locking device 300 andone or more external devices, such as one or more battery-powered tools,as described herein. In some embodiments, the communication interface304 is a wireless communication interface such as cellular (3G, 4G, LTE,CDMA, 5G, etc.), Wi-Fi, Wi-MAX, ZigBee, ZigBee Pro, Bluetooth, BluetoothLow Energy (BLE), RF, LoRa, LoRaWAN, Near Field Communication (NFC),Radio Frequency Identification (RFID), Z-Wave, 6LoWPAN, Thread, WiFi-ah,and/or other wireless communication protocols. Additionally, thecommunication interface 304 may include wired interfaces such asUniversal Serial Bus (USB), USB-C, Firewire, Lightning, CATS, universalasynchronous receiver/transmitter (UART), serial (RS-232, RS-485), etc.In some embodiments, the communication interface 304 communicates via anantenna 314.

The I/O interface 306 allows for communication with one or more externaldevices, such as an electronic power tool. The I/O interface 306 mayfurther facilitate communication without other components inside thelocking device 300, such as the communication interface 304 and the userinterface 308, as well as the processing circuit 302.

In some embodiments, the communication interface 304 of the lockingdevice 300 employs one protocol to communicate with the wake-up sensor205 on the tool, such as an RFID or NFC protocol, and another protocolfor communicating via the communication interface 204 with theelectronic processor 220 of the tool 200, such as a BLE or otherwireless protocol. In that respect, the communication with the wake-upsensor 205 is out-of-band with respect to the communication with theelectronic processor 220 via the communication interface 204. Similarly,if the wake-up sensor 205 operates responsive to a mechanical stimulus,its operation is out-of-band with respect to the communication with theelectronic processor 220 via the communication interface 204.

The user interface 308 may include various interface elements to allowfor a user to interface with the locking device. In some embodiments,the user interface 308 may include user interface elements such as adisplay (LCD, LED, etc.), keyboards, touchscreens, touchpads,microphones, speakers, scanning devices, sensors, or other userinterface elements that can allow the user to provide input directly tothe locking device 300. In some examples, a user may be able to instructthe locking device 300 to execute one or more processes, such as lockinga battery-powered power tool, as will be described in more detailherein.

In some embodiments, the memory 312 is configured to store one or moreprocesses for execution by the electronic processors 310 and/or theprocessing circuit 302. For example, the memory 312 may include alocking key algorithm generator 316. The locking key algorithm generatormay be configured to generate one or more locking keys, which can beprovided to a battery-powered power tool, such as the tool 200, via thecommunication interface 304 and/or the I/O interface 306. The lockingkeys may be generated based on one or more parameters, such asbattery-powered tool information. Battery-powered tool information mayinclude one or a combination of manufacture date, serial number, modelnumber, product ID, etc. In some embodiments, a user may input thebattery-powered tool information via the user interface 308. In oneembodiment, the locking code is generated using a hashing function tocombine two or more elements of the battery-powered tool information. Inother embodiments, the battery-powered tool information is provided tothe locking device 300 via the communication interface 304 and/or theI/O interface 306. In one embodiment, the generated locking key isunique to a specific battery-powered power tool. The memory may furtherinclude a locking output signal generator 318. The locking output signalgenerator 318 may generate the signal to be provided to battery-poweredpower tool to instruct the battery-powered power tool to “lock,” therebypreventing operation of the battery-powered power tool. In one example,the locking output signal is transmitted to the battery-powered powertool via the communication interface 304. In other examples, the lockingoutput signal is provided to the battery-powered power tool via the userinterface 308. In one embodiment, the locking output signal includes thelocking key generated by the locking key algorithm generator 316.

In some examples, the locking device 300 may be a standalone device. Forexample, the locking device 300 may be a handheld device or a fixeddevice, such as fixed device positioned within a manufacturing facility,warehouse, distribution site, or retail store, as described above. Instill further examples, the locking device 300 may be integrated into auser/customer device, such as a smartphone, tablet computer, personalcomputer, or other electronic device. For example, a user/customer mayinstall an application or other program onto their device. Theapplication or other program may be configured to allow theuser/customer device to operate as the locking device 300, and canutilize the hardware, such as the user interface and communicationinterface (e.g. Bluetooth, Wi-Fi, cellular, etc.) of the user/customerdevice, to perform a locking function on a tool. In one example, thetool may be locked prior to purchase, as described above. In otherexamples, an owner of the tool may utilize their personal device as alocking device to lock their tool, such as if it is stolen, or being putinto storage.

Turning now to FIG. 4, a block diagram illustrating an example unlockingdevice 400 is provided, according to some embodiments. The unlockingdevice 400 may be similarly configured to the unlocking device 118,described above. The unlocking device 400 includes a processing circuit402, a communication interface 404, an I/O interface 406, and a userinterface 408. The processing circuit 402 may be communicably connectedto one or more of the communication interface 404, the I/O interface406, and the user interface 408. The processing circuit 402 may includean electronic processor 410 and a memory 412. The electronic processor410 may be implemented as a programmed microprocessor, an applicationspecific integrated circuit (ASIC), one or more field programmable gatearrays (FPGA), a group of processing components, or other suitableelectronic processing components.

The memory 412 (e.g. memory, memory unit, storage device, etc.) caninclude one or more devices (e.g., RAM, ROM, Flash memory, hard diskstorage, etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described herein.The memory 412 can be or include volatile memory or non-volatile memory.The memory 412 can include database components, object code components,script components, or any other type of information structure forsupporting the various activities and information structure described inthe present application. According to one example, the memory 412 iscommunicably connected to the electronic processor 410 via theprocessing circuit 402 and can include computer code for executing (e.g.by the processing circuit 402 and/or electronic processor 410) one ormore processes described herein.

The communication interface 404 is configured to facilitatecommunications between the processing circuit 402 and one or moreexternal devices and/or networks. The communication interface 404 can beor include wired or wireless communications interfaces (e.g., jacks,antennas, transmitters, receivers, transceivers, wire terminals, etc.)for conducting data communications between the unlocking device 400 andone or more external devices, such as one or more battery-powered tools,as described herein. In some embodiments, the communication interface404 is a wireless communication interface such as cellular (3G, 4G, LTE,CDMA, 5G, etc.), Wi-Fi, Wi-MAX, ZigBee, ZigBee Pro, Bluetooth, BluetoothLow Energy (BLE), RF, LoRa, LoRaWAN, Near Field Communication (NFC),Radio Frequency Identification (RFID), Z-Wave, 6LoWPAN, Thread, WiFi-ah,and/or other wireless communication protocols. Additionally, thecommunication interface 404 may include wired interfaces such asUniversal Serial Bus (USB), USB-C, Firewire, Lightning, CATS, universalasynchronous receiver/transmitter (UART), serial (RS-232, RS-485), etc.In some embodiments, the communication interface 404 communicates via anantenna 414.

In some embodiments, the communication interface 404 of the unlockingdevice 400 employs one protocol to communicate with the wake-up sensor205 on the tool, such as an RFID or NFC protocol, and another protocolfor communicating via the communication interface 204 with theelectronic processor 220 of the tool 200, such as a BLE or otherwireless protocol. In that respect, the communication with the wake-upsensor 205 is out-of-band with respect to the communication with theelectronic processor 220 via the communication interface 204. Similarly,if the wake-up sensor 205 operates responsive to a mechanical stimulus,its operation is out-of-band with respect to the communication with theelectronic processor 220 via the communication interface 204.

The I/O interface 406 may allow for communication with one or moreexternal devices, such as an electronic power tool. The I/O interface406 may further facilitate communication with other components insidethe unlocking device 400, such as the communication interface 404 andthe user interface 408, as well as the processing circuit 402.

The user interface 408 may include various interface elements to allowfor a user to interface with the locking device. In some embodiments,the user interface 408 includes user interface elements such as adisplay (LCD, LED, etc.), keyboards, touchscreens, touchpads, or otheruser interface elements that can allow the user to provide inputdirectly to the unlocking device 400. In some examples, a user may beable to instruct the unlocking device 40 to execute one or moreprocesses, such as unlocking a battery-powered power tool, as will bedescribed in more detail herein.

In some embodiments, the memory 412 is configured to store one or moreprocesses for execution by the electronic processors 410 and/or theprocessing circuit 402. For example, the memory 412 may include anunlock key algorithm generator 416. The unlock key algorithm generator416 configures the electronic processor to generate one or moreunlocking keys, which can be provided to a battery-powered power toolvia the communication interface 304 and/or the I/O interface 406. Theunlocking keys may be generated based on one or more parameters, such asbattery-powered tool information. Battery-powered tool information mayinclude one or a combination of manufacture date, serial number, modelnumber, product ID, purchase time, purchase date, purchase location,etc. In some embodiments, a user may input the battery-powered toolinformation via the user interface 408. In other embodiments, thebattery-powered tool information is provided to the unlocking device 400via the communication interface 404 and/or the I/O interface 406. Insome embodiments, the unlocking device 400 may receive battery-poweredtool information from a point-of-sale, such as point of sale 116. In oneembodiment, the generated locking key is unique to a specificbattery-powered power tool. The memory may further include a purchaseverification process 418. The purchase verification process 418configures the electronic processor 410 to receive one or moreelectronic messages indicating a purchase of a battery-powered powertool has been completed. In some embodiments, the purchase verificationprocess 418 configures the electronic processor 410 to receive purchasedetails from one or more sources, such as point of sale 116. In someembodiments, the purchase verification process 418 configures theelectronic processor 410 to communicate with the unlock key algorithmgenerator 416 to provide the purchase verification data to the unlockkey algorithm generator 416.

In some examples, the unlocking device 400 is a standalone device. Forexample, the unlocking device 400 may be a handheld device or a fixeddevice, such as fixed device positioned at the exit of the retail store.In some examples, the unlocking device is integrated into the point ofsale. For example, the unlocking device 400 may be integrated with ascanning device of the point of sale, such that when the tool is“scanned” as part of the purchase process, the unlocking device canunlock the tool. In still further examples, the unlocking device 400 isintegrated into a user/customer device, such as a smartphone, tabletcompute, personal computer, or other electronic device. For example, auser/customer may install an application or other program onto theirdevice. The application or other program may be configured to allow theuser/customer device to operate as the unlocking device 400, and canutilize the hardware, such as the user interface and communicationinterface (e.g. Bluetooth, Wi-Fi, cellular, etc.) of the user/customerdevice, to perform an unlocking function on a purchased tool. Further,the application may communicate with the point of sale or thecloud-based server 122 to verify purchase of the tool.

Turning now to FIG. 5, a flowchart illustrating a battery-powered powertool locking process 500 is shown, according to some embodiments. Theprocess 500 may be performed by, and is described with respect to,components described above (e.g., the locking device 300 and the powertool 200); however, in some embodiments, the other locking devices,tools, and components are used to perform the process 500. At processblock 502, the tool 200 is woken by providing the appropriate stimulusto the wake-up sensor 205. For example, the identification tag 230 maybe interrogated by the locking device 300, a magnetic swipe may beperformed, a predetermined mechanical action may be performed, oranother of the aforementioned stimuli may be provided to the wake-upsensor 205. Responsive to the wake signal from the wake-up sensor 205,at least some of the elements of the tool 200, such as the electronicprocessor 220, the communication interface 204, and the I/O interface206, are transitioned from a deep sleep state to an active state toallow communication with the locking device 300.

In one example embodiment, the locking device 300 interrogates theidentification tag 230 as described above, which causes the wake-upsensor 205 to generate the wake signal. The wake signal is provided tothe communication interface 204, which includes a wireless radio (forexample, a BLE radio or a Bluetooth radio). The wake signal then servesas an interrupt signal to a processor of the communication interface204, which causes the processor to exit a standby software code loop (ofthe deep sleep state) and to jump to main software code loop (of thewoken state). Once awakened, the communication interface 204 maycommunicate a further wake signal to the electronic processor 220. Thefurther wake signal may similarly serve as an interrupt that causes theelectronic processor 220 to exit a standby software code loop and tojump to a main software code loop. In this example, the communicationinterface 204, as well as the electronic processor 220 and otherelements of the processing circuit 202 may be powered by the internalpower source 226 during this process block 502 (and while the externalpower source 212 may be disconnected from the power supply 210). In someembodiments, the wake signal is sent to both the communication interface204 and the electronic processor 220 in parallel.

At process block 504, tool information is received by the locking device300. The tool information may include a UPC code, a serial number,product model number, RFID identification number, Bluetooth address,etc. In some examples, the tool information is any information that isunique to a particular electronic power tool. The tool information maybe generated during the manufacture of the tool, or be provided atvarious points along the supply chain, such as at awarehouse/distribution center, or at the end retail store. In someembodiments, the tool information is provided to the locking device 300by a user inputting the tool information via the user interface 308. Insome embodiments, the tool information is provided to the locking device300 by the remote server 120 or the cloud-based server 122, or acombination of user input via the user interface 308 and input from oneor both of the servers.

Upon receiving the tool information, the locking device 300 generates alocking code (process block 506). In some embodiments, the lockingdevice 300 generates the locking code based on the unique toolinformation received at process block 504. In further embodiments, thelocking code may be generated using a combination of the unique toolinformation, as well as other parameters, such as the current date, thecurrent time, a current geographical location, etc. As described above,the locking device 300 may apply a hashing function to the unique toolinformation and other parameters to generate the locking code. Thegenerated locking code may further be stored in the remote server 120,the cloud-based server 122, or other database for verification during asubsequent unlocking process (see FIG. 6 and accompanying text).

At process block 508, the locking device 300 transmits the locking codeto the tool 200. In some examples, the locking code may be transmittedto, and received by, the communication interface 204 of the tool 200. Insome examples, the locking code may be stored in the memory 222 of thetool. In some embodiments, the locking device 300 transmits the lockingcode using an active wireless protocol, such as cellular (3G, 4G, 5G,LTE, CDMA, etc.), Bluetooth, BLE, LoRa, 6lowPAN, Wi-Fi, infrared, etc.In using active wireless protocols, power may need to be provided to thetool 200. Power may be provided to the tool 200 using an externalsource, or, as described above, a power supply of the tool 200 mayinclude an internal power supply capable of powering the communicationinterface 204, the I/O interface 206, the user interface 208, and/or theprocessing circuit 202 when the external power supply is not present.

In some embodiments, the tool 200 may be configured to harvest energyfrom a passive wireless protocol transmitter, and utilize that energy toallow for an active wireless protocol to be used to communicate with thetool 200. For example, the energy provided from a passive wirelessprotocol transmitter may be harvested and converted to a current whichmay be stored by an energy storage device on the tool 200, such as abattery or a capacitor, which may then provide power to thecommunication interface and/or the processing circuit of the tool. As anexample of harvesting energy, a varying current in a transmitter antennagenerates a varying electromagnetic field, which induces current in areceiving coil of the tool 200 through induction. The induced currentmay then be stored in an energy storage device of the tool 200. In oneexample, the locking code may be transmitted via a tool mesh network.For example, one or more tools 200 may be in electronic communicationwith each other to form a mesh network. Within the mesh network one ormore tools 200 may be connected to an external communication network,such as the cloud-based server 122 described above. The tools 200connected to the external communication network may be configured tocommunicate messages from the external communication network to theother tools 200 in the mesh network.

In one example, the communication interface 204 of the tool 200 includesa cellular communication interface, which provides a general location ofthe tool 200 to the locking device 300. For example, a location of thetool 200 may be deduced from a known location of a cellular networktower or towers that receive(s) a signal from the tool 200, and thelocation may be provided to the locking device 300. Alternatively, or inaddition, the tool 200 may include a global positioning satellite (GPS)receiver and the tool 200 may communicate its location via the cellularcommunication interface to the locking device 300. The locking device300 then transmits the locking code to the tool 200 upon the lockingdevice 300 determining that the tool 200 has arrived at a location whereit is desired that the tool be locked. For example, the locking code maybe transmitted to the tool when the locking device 300 determines thatthe tool 200 has arrived at a specific retail location. In otherexamples, the locking device 300 transmits the locking code to the tool200 when it is determined that the tool 200 has arrived at a specificwarehouse and/or distribution site.

In some example, the locking device 300 transmits the locking code tothe tool 200 via a wired communication protocol, such as USB, serial(RS-232), Ethernet, or other wired communication protocols, includingproprietary wired communication protocols. In other examples, othersystems for transmitting the lock code to the tool 200 are alsocontemplated. For example, the lock code may be an audio signal whichmay be received via a microphone associated with the user interface 208of the tool 200. In some examples, the lock code is provided via aphysical mechanism provided to the I/O interface 206 of the tool 200.The physical mechanisms may include using a keyed device such as a flashdrive or other keyed device. In other examples, the locking device 300provides one or more voltage or current signals to the tool 200 via theI/O interface 206, which instructs the processing circuit 202 to lockthe tool 200. In some embodiments, the tool 200 is locked via the I/Ointerface 206 or other interface associated with the tool 200 byphysically adding or removing an object to/from the tool 200. Forexample, a jumper connecting two or more I/O ports on the I/O interface206 may be added or removed, which indicates that the tool 200 is to belocked. The locking code may be provided to the tool at various points,such as at manufacturing, shipping, distribution, store receivingdepartment, during stocking onto retail store shelves, etc.

Once the tool receives the locking code, the tool 200 is locked atprocess block 510. In some examples, the locking of the tool 200 resultsin the tool 200 being prevented from operating. For example, when thetool 200 is locked, the processing circuit 202 is configured to preventpower from being provided to the power switches 214, which in turnprevents operation of the motor 216. In one embodiment, in response toreceipt of the locking code by the tool 200, a flag or bit is set in theelectronic processor 220. When a user actuates the trigger or othermechanism within the user interface 208 to attempt to operate the tool200, the processing circuit 202 detects the set flag or bit and preventspower from being provided to the power switches. In other examples,locking the tool 200 prevents the user from being able to operate thetool 200 via the user interface 208 of the tool 200. In other examples,a switch or relay may be integrated into the tool 200 and, uponreceiving the locking code, the switch or relay is opened via theprocessing circuit 202 to prevent power from being provided to the powerswitches 214. The switch or relay may be positioned between the powersupply 210 and the power switches 214, between the processing circuit202 and the power switches 214, or between the power switches 214 andthe motor 216. In one example, the locking code can be written to thetool 200 only once, and therefore the tool is only able to be lockedonce. However, in other examples, the locking code may be provided tothe tool 200 multiple times, such as when the user wishes to lock thetool 200 after it has been initially unlocked.

In some embodiments, the tool 200, upon receipt of the lock code, maylock the tool in response to first verifying the authenticity of thelock code. To authenticate the lock code, the processing circuit 202 ofthe power tool 200 may apply an algorithm to the received lock code. Asan example, the processing circuit 202 may authenticate the lock code bycomparing the lock code to a previously stored lock code and determiningthat the compared codes match.

In some embodiments, the user interface 208 is configured to provide anindication (e.g., an audible indication, visual indication, or tactileindication) that the tool 200 has been locked.

In some embodiments, the tool 200 returns to a deep sleep state if thelocking at blocks 504-510 is not completed within a particular timeperiod, such as 30 seconds, 1 minute, or 5 minutes. For example, thestimulus may be provided to the wake-up sensor 205 in error. In someembodiments, the electronic processor 220 in the tool 200 maintains atimer and resets the wake-up sensor 205 to withdraw the wake signal ifthe timer elapses. Withdrawing the wake signal may reduce powerconsumption. In some embodiments, the wake-up sensor 205 provides aone-shot wake signal that wakes up the tool 200 for a predetermined timeperiod. The electronic processor 220 may return to the deep sleep stateresponsive to the predetermined time period elapsing.

In some embodiments, the wake operation in process block 502 is omitted.The tool 200 may be in an active state after manufacture. After the tool200 is locked in process block 510, the tool 200 enters the deep sleepstate by deactivating the electronic processor 220, the communicationinterface 204, and the I/O interface 206.

Turning now to FIG. 6, a flowchart illustrating a process 600 forunlocking the power tool 200 is shown, according to some embodiments.The process 600 may be performed by, and is described with respect to,components described above (e.g., the locking device 300, the unlockingdevice 400, and the power tool 200); however, in some embodiments, otherlocking devices, unlocking devices, tools, and components are used toperform the process 600. Further, in some embodiments, the process 600is performed after the process 500 is performed. At process block 602,the tool 200 is woken by providing the appropriate stimulus to thewake-up sensor 205. For example, the identification tag 230 may be readby the locking device 300, a magnetic swipe may be performed, apredetermined mechanical action may be performed, or another of theaforementioned stimuli may be provided. Responsive to the wake signalfrom the wake-up sensor 205, at least some of the elements of the tool200, such as the electronic processor 220, the communication interface204, and the I/O interface 206, are transitioned from a deep sleep stateto an active state to allow communication with the unlocking device 400.

In one example embodiment, the locking device 300 interrogates theidentification tag 230 as described above, which causes the wake-upsensor 205 to generate the wake signal. The wake signal is provided tothe communication interface 204, which includes a wireless radio (forexample, a BLE radio or a Bluetooth radio). The wake signal then servesas an interrupt signal to a processor of the communication interface204, which causes the processor to exit a standby software code loop (ofthe deep sleep state) and to jump to main software code loop (of thewoken state). Once awakened, the communication interface 204 maycommunicate a further wake signal to the electronic processor 220. Thefurther wake signal may similarly serve as an interrupt that causes theelectronic processor 220 to exit a standby software code loop and tojump to a main software code loop. In this example, the communicationinterface 204, as well as the electronic processor 220 and otherelements of the processing circuit 202 may be powered by the internalpower source 226 during this process block 602 (and while the externalpower source 212 may be disconnected from the power supply 210). In someembodiments, the wake signal is sent to both the communication interface204 and the electronic processor 220 in parallel.

At process block 604, a purchase of the tool is verified. In someexamples, the purchase is verified by one or more of the unlockingdevice 400, remote server 120, or cloud-based server 122 based on acommunication from a point of sale, such as the point of sale 116,confirming a bona fide purchase. For example, the point of sale 116 mayconfirm receipt of payment based on, for example, one or more of cashierinput confirming cash payment or a confirmation of payment received froma banking institution associated with the purchaser in reply tocredit/debit card information provided to the institution by the pointof sale 116. Then, the point of sale 116 is configured to transmit aconfirmation of the bona fide purchase to one or more of the unlockingdevice 400, remote server 120, or cloud-based server 122, along withvarious purchase information relating to the purchase of the tool.Purchase information can include price paid, payment method, time, date,store identification number, geographical information, tool UPC code,tool serial number, a purchase verification message, etc. In someexamples, the point of sale 116 transmits the purchase information tothe remote server 120 or the cloud-based server 122. The purchaseinformation may be further transmitted to the unlocking device 400, orother unlocking devices as described herein.

At process block 606, upon receiving the purchase information verifyingthe purchase, an unlock code is generated. In some embodiments, theremote server 120 or the cloud-based server 122 generates the unlockcode and transmits the unlock code to the unlocking device 400. In otherembodiments, the unlocking device 400 generates the unlock code. In someexamples, the unlock code is generated using one or more algorithms. Forexample, the unlock code algorithms may generate unlock codes that arebased on a similar algorithm associated with the locking code algorithm.In other examples, the unlock code algorithm may utilize the purchaseinformation when generating the unlock code. The unlock code algorithmmay generate a unique unlock code that is recognizable by a locked tool.In some embodiments, the unlock code is a generic code applicable to aclass of tools (e.g., tools sold by a particular retailer, tools of aparticular model type, tools of a particular manufacturing batch), whichis made available to the unlocking device 400 and/or the point of sale116 upon the purchase of the tool 200 being verified. In one example,the point of sale 116 queries the remote server 120 and/or thecloud-based server 122 to request an unlock code for the unlockingdevice 400 after or during the verification of the purchase of the tool200. In some embodiments, the unlocking device 400 stores a cache ofunlock keys for use should communication with the remote server 120 orthe cloud-based server 122 be interrupted. The unlocking device 400 maycommunicate unlock keys assigned during the interruption to the remoteserver 120 or the cloud-based server 122 upon service restoration.

In some examples, in process block 606, the unlock code is provided to auser of the tool (e.g., the purchaser). Where the unlock code is aspecific code to be input directly by the user, e.g. via a userinterface of the tool, the unlock code is provided to the user at thepoint of sale 116. For example, the unlock code may be printed on areceipt provided to the user. In other examples, a separate document isprinted with an unlock code to be provided to the user. In still furtherexamples, the code is electronically communicated to the user, such asvia a text message (SMS, MMS, etc.), a push notification message, or ane-mail. In still further examples, the unlock code is provided to anapplication or other program associated with the user. For example, theuser may have, or be instructed to download, an application forcommunicating with the tool. The unlock code may then be provided to theuser via the application once the user accesses the application andverifies their identity and the tool information. Other electronicmessages are also contemplated.

In process block 608, the unlock code is transmitted to the tool 200.The unlock code is transmitted to the tool 200 by, for example, theunlocking device 400, the remote server 120, or the cloud-based server122, using, for example, or more of the techniques described below. Insome embodiments, the unlocking code is transmitted to the tool 200 inresponse to completion of the generation of the unlocking code inprocess block 606. In some embodiments, the unlocking code istransmitted to the tool 200 in response to verification of the purchasein process block 604 (for example, when process block 606 is completedbefore process block 604).

In some embodiments, the unlock code is transmitted to the tool 200directly from the unlocking device 400. In some examples, the unlockcode is transmitted to, and received by, the communication interface 204of the tool 200. In one example, upon receipt, the unlock code is storedin a memory of the tool, such as the memory 222 or a memory of thecommunication interface 204 of the tool 200, and is provided to theprocessing circuit 202 upon the tool 200 being initialized (e.g. poweredup for the first time by the user). In some embodiments, the unlock codeis transmitted to the tool 200 in process block 608 using an activewireless protocol, such as cellular (3G, 4G, 5G, LTE, CDMA, etc.),Bluetooth, BLE, LoRa, 6lowPAN, Wi-Fi, infrared, etc. In using activewireless protocols, power may need to be provided to the tool 200. Powermay be provided to the tool 200 using an external source, or, asdescribed above, the power supply 210 of the tool 200 includes aninternal power supply capable of powering the communication interface204, I/O interface 206, user interface 208, and/or processing circuit202 when the external power supply is not present. In some examples, thetool 200 may receive the unlock code upon the user providing power tothe tool 200 for the first time, e.g. by attaching the battery pack tothe tool 200.

In other embodiments, the unlocking code may be transmitted to the tool200 in process block 608 via passive wireless protocols such as RFID,NFC or a simple magnetic swipe. Passive wireless protocols such as RFIDand NFC can allow for the unlock signal to be received by the tool 200without requiring the power supply 210 to be powered within the tool200. Passive wireless protocols such as RFID and NFC can wirelesslypower an associated receiver within the tool when the tool is within aphysical range of the RFID and/or NFC transmitters. For example, theunlock code may be generated by the unlocking device 400 associated withthe point of sale. In other examples, the unlocking device 400 maylocated at the exit to the store, and transmits the unlock code to thetool 200 as it passes near the unlocking device 400 when the purchaserexits the store. In some embodiments, the tool 200 is configured toharvest energy from a passive wireless protocol transmitter, and utilizethat energy to allow for an active wireless protocol to be used tocommunicate with the tool. For example, the energy provided from apassive wireless protocol transmitter may be harvested and converted toa current which may be stored by an energy storage device on the tool,such as a battery or a capacitor, which may then provide power to thecommunication interface and/or the processing circuit of the tool. As anexample of harvesting energy, a varying current in a transmitter antennagenerates a varying electromagnetic field, which induces current in areceiving coil of the tool 200 through induction. The induced currentmay then be stored in an energy storage device of the tool 200. In oneexample, the locking code may be transmitted via a tool mesh network.For example, one or more tools 200 may be in electronic communicationwith each other to form a mesh network. Within the mesh network one ormore tools 200 may be connected to an external communication network,such as the cloud-based server 122 described above. The tools 200connected to the external communication network may be configured tocommunicate messages from the external communication network to theother tools 200 in the mesh network.

In one example, the unlock code is transmitted to the tool 200 inprocess block 608 via a cellular signal. For example, the unlock codemay be communicated to the tool 200 from the remote server 120, thecloud-based sever 122, or the unlocking device 400 automatically whenthe purchase is completed. In other examples, the unlock code istransmitted to the tool 200 via the cellular signal when the tool 200 isfirst powered up (e.g., batteries inserted), and the tool 200 sends acellular signal with a request for the unlock code via the communicationinterface 204 (e.g., to the remote server 120, the cloud-based sever122, or the unlocking device 400).

In some examples, the unlock code may be transmitted to the tool 200 inprocess block 608 via a wired communication protocol, such as USB,serial (RS-232), Ethernet, or other wired communication protocols,including proprietary wired communication protocols. In other examples,other systems for transmitting the unlock code to the tool 200 are alsocontemplated. For example, in some examples the unlock code is an audiosignal, which may be received via a microphone device associated withuser interface 208 of the tool 200. In some examples, the unlock codemay be provided via a physical mechanism provided to the I/O interface206 of the tool. The physical mechanisms may include using a keyeddevice such as a flash drive or other keyed device. In other examples,one or more voltage or current signals may be provided to the tool 200as the unlock code via the I/O interface 206, which can instruct theprocessing circuit 202 to unlock the tool 200. In some embodiments, theunlock code is transmitted to the tool 200 via the I/O interface 206 orother interface associated with the tool 200 by physically adding orremoving an object to/from the tool 200. For example, a jumperconnecting two or more I/O ports on the I/O interface 206 may be addedor removed, which indicates that the tool 200 is to be unlocked. Theunlock code may be provided to the tool at various points, such as atmanufacturing, shipping, distribution, store receiving department,during stocking onto retail store shelves, etc.

Where the unlock code is provided to the user in process block 606(e.g., on a receipt or by email), the user may transmit the unlock codedirectly to the tool 200 through the communication interface 204 inprocess block 608. In some embodiments, the user inputs the code via theuser interface 208 of the tool 200. In some examples, the unlock codemay be a numerical or alphanumerical code, which the user may enter viaa user interface of the tool 200, such as a keypad. In otherembodiments, the user may enter the numerical or alphanumerical code viaan application associated with the tool, which may then transmit theunlock code to the tool 200.

In other examples, where the unlock code is provided to the user inprocess block 606, the user transmits the unlock code to the tool 200 inprocess block 608 by providing a sequence of operations or inputs to thetool 200 via the user interface 208, such as a trigger pull, to inputthe unlock code. The user may further transmit the unlock code byphysically manipulating (e.g. shaking) the tool 200 in the providedsequence to input the unlock code. In other examples, the user isprovided with one or more verbal or audio codes that can be provided toa microphone or other sensors associated with the user interface 208 ofthe tool 200. In some examples, the audio signals may be providedelectronically to the user, as described above, allowing the user toelectronically play back the audio signals to the tool via theelectronic device. In some embodiments, the user establishescommunication with the tool via a personal electronic device of theuser. For example, the user may execute an application associated withthe tool 200 on a user device, such as a computer, a smartphone, atablet computer, etc. The application may utilize one or morecommunication protocols, such as Bluetooth, on the user device tocommunicate with the tool 200. The application then transmits the unlockcode to the tool 200. In some embodiments, the unlock code is providedvia the application as described above. In other examples, the useraccesses an unlock code previously provided in an electroniccommunication (e.g. text message, e-mail, etc.), and the user devicethen accesses the remote server 120 and/or the cloud-based server 122,which can facilitate the user device establishing a communication withthe tool 200 and transmitting the unlock code.

In some examples, the unlock code is transmitted to a separate device,such as an electronic key, which may be configured to interface with thetool 200 in order to provide the unlock code to the tool 200. Forexample, upon purchasing a tool, an electronic key may be provided theunlock code via the unlocking device (e.g. at the point of sale 116) andprovided to the customer. Upon powering up the purchased tool 200 forthe first time, the customer may interface the electronic key with thetool to transmit the unlock code to the tool 200. In some examples, theelectronic key is configured to communicate wirelessly with the tool viaa communication interface 204 of the tool. In other examples, theelectronic key may physically interface with the tool 200, such as viathe I/O interface 206.

Upon receiving the unlock code at the tool 200, the tool 200 is unlockedat process block 610. For example, the tool 200, upon receipt of theunlock code, may unlock the tool in response to verifying theauthenticity of the unlock code. To authenticate the unlock code, theprocessing circuit 202 of the power tool 200 may apply an algorithm to areceived unlock code. As an example, the processing circuit 202 mayauthenticate the unlock code by comparing the unlock code to apreviously received lock code or a previously stored unlock code anddetermining that the compared codes match.

In response to verifying that the unlock code is authentic, the tool 200is unlocked. In one example, the tool 200 is unlocked by the processingcircuit 202 allowing power to be switched via the power switches 214,thereby rotating the motor of the tool 200. In other embodiments, thetool 200 is unlocked by the processing circuit 202 permitting controlinputs provided by a user via the user interface 208 of the tool 200 tobe processed, thereby initiating operation of the tool 200 based on thereceived control inputs. In one embodiment, a flag or bit is set in theelectronic processor 220 upon receiving and authenticating the unlockcode. When a user actuates the trigger or other mechanism within theuser interface 208 to attempt to operate the tool, the processingcircuit 202 detects the set flag or bit and allows power to be providedto the power switches 214. In other examples, unlocking the tool 200allows the user to be able to operate the tool 200 via the userinterface 208 of the tool 200. In other examples, a switch or relay maybe integrated into the tool 200 and, upon receiving the unlocking code,the switch or relay is closed via the processing circuit 202 to allowpower to be provided to the power switches 214. The switch or relay maybe positioned between the power supply 210 and the power switches 214,between the processing circuit 202 and the power switches 214, orbetween the power switches 214 and the motor 216. In one example, theunlocking code can be written to the tool 200 only once, and thereforethe tool is only able to be unlocked once. However, in other examples,the unlocking code may be provided to the tool 200 multiple times, suchas when the user wishes to unlock the tool 200 after it has been lockedby the user. Accordingly, after the process 600 is performed, theprocess 500 may again be performed.

In other specific embodiments, additionally or alternatively to theprocess 600, the tool 200 may be unlocked using a physical device, suchas a key or other physical mechanism that can be applied by the user orretailer after a bona fide purchase when first powering on the tool 200.For example, the physical mechanism may be a key configured to interfacewith the communication interface 204, the I/O interface 206, and/or theuser interface 208, and may contain one or more jumpers that provide anunlocking code to instruct the processing circuit 202 to unlock thetool. In some embodiments, the physical key is a coded key that canwireless communicate with the tool 200 to provide an unlock code, asdescribed herein. In other embodiments, the tool 200 may include aphysical interface that would need to be altered to unlock the tool 200.Physical interfaces may include breaking off one or more tabs on thetool 200 body, actuating one or more tool buttons or input devices in acertain sequence, or adding an electrical conductor jumper that wouldactivate an internal unlock code based on the jumpered connections.

In some embodiments, the user interface 208 is configured to provide anindication (e.g., an audible indication, visual indication, or tactileindication) that the tool 200 has been unlocked.

In some embodiments, the wake-up sensor 205 is disabled responsive tothe unlocking of the tool 200 in process block 610. Once unlocked, thetool 200 does not return to the deep sleep state. In some embodiments,the tool 200 returns to a deep sleep state if the unlocking at blocks604-610 is not completed within a particular time period, such as 30seconds, 1 minute, or 5 minutes. For example, the stimulus may beprovided to the wake-up sensor 205 in error or the purchaser may fail tocomplete the purchase. In some embodiments, the electronic processor 220in the tool 200 maintains a timer and resets the wake-up sensor 205 towithdraw the wake signal if the timer elapses. Withdrawing the wakesignal may reduce power consumption. In some embodiments, the wake-upsensor 205 provides a one shot wake signal that wakes up the tool 200for a predetermined time period. The electronic processor 220 may returnto the deep sleep state responsive to the predetermined time periodelapsing.

In some embodiments, the wake-up sensor 205 or electronic processor 220monitors the charge level of the internal power source 226 (e.g., via avoltage sensor) and, when the charge level drops below a predeterminedthreshold (e.g., when the voltage level drops below a predeterminedthreshold), the wake-up sensor 205 generates the wake signal andindicates a low battery, and the electronic processor 220 unlocks thetool. Accordingly, before the internal power source 226 may be depletedand, thus, unlocking the tool 200 may involve additional steps (e.g.,replacing the internal power source 226), the tool 200 is unlocked.

Turning now to FIG. 7, a block diagram of a rechargeable externalbattery pack 700 is shown, according to some embodiments. The batterypack 700 may be similar to and used as the external power source 212,described above, and is an example of a power tool device 110implemented as a power tool battery pack. As shown in FIG. 7, thebattery pack 700 includes a number of battery cells 702, a batterymanagement system (BMS) 704, a switching device 706, a number of outputterminals 708, a communication interface 710, and a wake-up sensor 711.In some embodiments, the wake-up sensor 711 includes an identificationtag 713.

In one embodiment, the battery cells 702 are Li-Ion battery cells.However, in other examples, the battery cells may be nickel cadmium(NiCd) battery cells, Nickel-Metal Hydride (NiMH) battery cells, leadacid battery cells, lithium polymer batteries, and/or other batterytypes, as applicable. Further, the Li-Ion battery cells may be lithiumcobalt oxide cells, lithium manganese oxide cells, lithium ironphosphate cells, lithium nickel manganese cobalt oxide cells, lithiumnickel cobalt aluminum oxide cells, and/or lithium titanate cells.Further, the Li-Ion battery cells may be small cylindrical cells, largecylindrical cells, pouch cells, and/or prismatic cells. The batterycells 702 may be arranged in multiple configurations to provide thevoltage, current and power levels required of the battery pack 700. Inone embodiment, the battery cells 702 include one or more terminals,such as negative terminal 712 and positive terminal 714 to provide oneor more connections to allow for the stored energy of the battery cells702 to be coupled to other devices or systems. In some embodiments, thebattery cells 702 may have more than two terminals to allow for multiplevoltage taps (e.g. to provide multiple voltage and/or power levels fromthe battery cells 702), communication with an attached device to bepowered, or both.

In one embodiment, one or more of the battery cell terminals 712, 714are coupled to the output terminals 708 of the battery pack 700. Theoutput terminals 708 can be used to transfer power from the battery pack700 to a device coupled to the battery pack, such as the tools 200described above. In other embodiments, the battery pack 700 includesmultiple battery cell terminals for providing multiple connections tothe battery cells 702 and one or more other components of the batterypack 700, such as the output terminals 708, the battery managementsystem 704, and the communication interface 710. The battery cells 702may include battery cell terminals for multiple voltage connections(e.g. voltage taps) and/or data connections to the battery cells 702. Inone embodiment, the switching device 706 can be utilized to allow forone or more of the battery cell terminals 712, 714 to be disconnectedfrom the output terminals 708, thereby removing power from the outputterminals 708. While FIG. 7 illustrates that the switching device 706 isconfigured to electrically disconnect the (+) terminal 714, in someembodiments, the switching device 706 is configured to electricallydisconnect the (−) terminal 712. In further examples, the switchingdevice 706 may be configured to electrically disconnect any one of thebattery cell terminals described above from their respective connectionsto the battery pack to prevent the operation of the battery pack 700. Instill other examples, one or more switching devices 706 may beconfigured to electrically disconnect some or all of the battery cellterminals from their respective connections to the battery pack 700(e.g. output terminals 708, the battery management system 704, thecommunication interface 710, etc.) to prevent operation of the batterypack 700. In one example, the switching device 706 may be configured todisconnect other connections to the output terminals to preventoperation of the battery pack 700. For example, the switching device 706may be configured to disconnect data connections between the batterymanagement system 704 and the battery cells 702 and/or output terminals,thereby preventing operation of the battery pack 700 (e.g., preventingpower from being output by the battery pack 700 and/or communicationwith the battery pack 700). The switching device 706 may be Field EffectTransistor (FET). However, other power switch types are contemplated,such as BJT transistors, CMOS transistors, insulated gate bipolartransistors (IGBT), etc. Further, the switching device 706 may be amechanical switch, such as a reed switch, a mechanical relay, etc. Theswitching device 706 can allow the battery pack 700 to be “locked,”meaning that power will not be provided to the output terminals 708until the switching device 706 is controlled to close, thereby providingpower from the terminals 712, 714 to the output terminals 708.

In one embodiment, the battery management system 704 may control theswitching device 706 to switch conditions. In further embodiments, thebattery management system 704 receives instructions to control theswitching device 706 from the communication interface 710. Thecommunication interface 710 is configured to facilitate communicationsbetween the battery management system 704 and one or more externaldevices and/or networks. The communication interface 710 can be orinclude wired or wireless communications interfaces (e.g., jacks,antennas, transmitters, receivers, transceivers, wire terminals, etc.)for conducting data communications between the battery pack 700 and oneor more external devices, such as the locking devices and unlockingdevices described herein. In some embodiments, the communicationinterface 710 is a wireless communication interface such as cellular(3G, 4G, LTE, CDMA, 5G, etc.), Wi-Fi, Wi-MAX, ZigBee, ZigBee Pro,Bluetooth, Bluetooth Low Energy (BLE), RF, LoRa, LoRaWAN, Near FieldCommunication (NFC), Radio Frequency Identification (RFID), Z-Wave,6LoWPAN, Thread, WiFi-ah, and/or other wireless communication protocols.Additionally, the communication interface 710 may include wiredinterfaces such as Universal Serial Bus (USB), USB-C, Firewire,Lightning, CATS, universal asynchronous receiver/transmitter (UART),serial (RS-232, RS-485), etc.

As stated above, the communication interface 710 provides a signal tothe battery management system 704 indicating a desired condition of theswitching device 706. In other embodiments, the communication interface710 is in direct communication with the switching device 706 and cancontrol the condition of the switching device without requiring thebattery management system 704. In multiple embodiments, the battery pack700 described above can be “locked” and “unlocked” using the switchingdevice 706, via any of the methods or using any of the systems describedherein. For example, wake-up sensor 711 may be activated to generate awake signal to wake the battery management system 704 and thecommunication interface 710, using techniques as described above withrespect to the power tool 200. Once awakened, the battery pack 700 maybe configured to be locked and unlocked by any of the respective lockingand unlocking devices described herein. As a particular example, thebattery pack 700 may take the place of the tool 200 in the processes 500and 600 of FIGS. 5 and 6, respectively, carrying out the actions of thetool 200 and being controlled as the tool 200 is controlled within thesemethods.

Turning now to FIG. 8, a process diagram is illustrated showing ahashing process 800 for providing an unlocking code to a tool, accordingto some embodiments. The process 800 shows both a battery-powered powertool 802 and an unlocking device 804. The battery-powered power tool 802and the unlocking device 804 may be similar to and used as the powertools (e.g., the power tool 200) and unlocking devices (e.g., theunlocking device 400) described above. Accordingly, communicationsbetween the tool 802 and the unlocking device 804 may be effectuatedusing the systems and methods described above. The tool 802 may providea unique ID 806 to the unlocking device 804. The unique ID 806 may be aunique ID associated with the tool 802. The unique ID 806 is thencombined with a secret key 808 stored in the unlocking device 804. Thesecret key 808 may be embedded or stored in the unlocking device 804. Inother embodiments, the unlocking device 804 may receive the secret keyfor each transaction from one or more sources, such as the remote server120, the cloud-based server 122, or the point of sale 116. The unique ID806 and the secret key 808 are combined in the hash function 810. Thehash function 810 then outputs a computed hash 812 based on the uniqueID 806 and the secret key 808, and then transmits the computed hash 812to the tool 802. The tool 802 then compares the computed hash 812 to ahashed secret 814 stored in the tool 802. The hashed secret 814 may bewritten to the tool 802 during manufacturing, or, alternatively, duringa locking process, such as the locking processes described above (see,e.g., the process 500 of FIG. 5). The tool 802 then compares the hashedsecret 814 with the computed hash 812 at process block 816. If thecomputed hash 812 matches the hashed secret 814, the tool is unlocked atprocess block 818. If the computed hash 812 does not match the hashedsecret 814, the tool remains locked at process block 820.

In some embodiments, the block diagram of the power tool 200 in FIG. 2applies to the tool 802 and the block diagram of the unlocking device400 of FIG. 4 applies to the unlocking device 804. For example, thevarious functions attributed to the unlocking device 804 (e.g.,receiving unique IDs, hashing, sending computing hash) may beimplemented with a processing circuit similar to the processing circuit402 of FIG. 4. Similarly, the various functions attributed to the tool802 (e.g., sending a unique ID, comparing hashes, locking/unlockingtool) may be implemented with a processing circuit similar to theprocessing circuit 202 of FIG. 2.

Turning now to FIG. 9, a process diagram is illustrated showing adigital signature process 900 for providing an unlocking code to a tool,according to some embodiments. The process 900 includes both abattery-powered power tool 902 and an unlocking device 904. The tool 902and the unlocking device 904 may be similar to and used as the powertools (e.g., the power tool 200) and unlocking devices (e.g., theunlocking device 400) described above. Accordingly, communicationsbetween the tool 902 and the unlocking device 904 may be effectuatedusing the systems and methods described above. The tool 902 may providea unique ID 906 to the unlocking device 904. The unique ID 906 may be aunique ID associated with the tool 902. The unlocking device 904 isfurther configured to generate an unlock command 908. In someembodiments, the unlock command 908 is generated by the unlocking device904 upon the unlocking device receiving the unique ID 906. The unlockingdevice 904 then executes a digital signature function 910 to generate asigned unlock command 912 based on the unique ID 906 and the unlockcommand 908. The signed unlock command 912 is then transmitted to thetool 902. The tool 902 reads the signed unlock command 912, andvalidates the signed unlock command 912 using the signature verificationfunction 914. The signature verification function 914 uses a public key916 stored in the tool 902 to verify the signed unlock command 912. Thepublic key 916 may be stored on the tool 902 during manufacturing. Inother embodiments, the public key is provided to the tool 902 during alocking process, such as those described above (see, e.g., the process500 of FIG. 5). If the signature verification function 914 verifies thatthe signature is valid at decision block 918, the tool is unlocked atprocess block 920. If the signature verification function 914 determinesthat the signature is not valid at decision block 918, the tool remainslocked at process block 922.

In some embodiments, the block diagram of the power tool 200 in FIG. 2applies to the tool 902 and the block diagram of the unlocking device400 of FIG. 4 applies to the unlocking device 904. For example, thevarious functions attributed to the unlocking device 904 (e.g.,receiving unique IDs, combining unique IDs with commands and signingwith private keys, and transmitting signed unlock commands) may beimplemented with a processing circuit similar to the processing circuit402 of FIG. 4. Similarly, the various functions attributed to the tool902 (e.g., sending a unique ID, signature verification,unlocking/locking tool) may be implemented with a processing circuitsimilar to the processing circuit 202 of FIG. 2.

Turning now to FIG. 10, a process diagram illustrating an externalapplication programming interface (API) authentication process 1000 forproviding an unlocking code to a tool is shown, according to someembodiments. The process 1000 includes a battery-powered power tool1002, an unlocking device 1004 and a cloud-based server 1006. The tool1002, the unlocking device 1004, and the server 1006 may be similar toand used as the power tools (e.g., the power tool 200), unlockingdevices (e.g., the unlocking device 400), and servers (e.g., the remoteserver 120 and the cloud-based server 122) described above. Accordingly,communications between the tool 1002, the unlocking device 1004, and/orthe server 1006 may be effectuated using the systems and methodsdescribed above. During the unlock process, the tool 1002 may provide aunique ID 1008 to the unlocking device 1004. The unique ID 1008 may be aunique ID associated with the tool 1002. The unlocking device 1004 thentransmits the unique ID 1008 along with one or more stored or embeddedcredentials 1010 to an application programming interface (API) 1012stored in the server 1006. The stored credentials 1010 may be providedto the unlocking device 1004 when the unlocking device 1004 is firstinitialized.

The API 1012, upon receiving the unique ID 1008 and the storedcredential 1010, determines whether the stored credentials 1010 arevalid, and whether the tool should be unlocked based on the unique ID(for example, by accessing a database that associates unique IDs andvalid stored credentials). When the API 1012 determines that the tool1002 should be unlocked, an unlock command is sent to the unlockingdevice 1004 from the API 1012. In some embodiments, the unlock commandmay be an HTTP response command. When the unlock command is determinedto have been received at process block 1014, a signed unlock command1016 is transmitted to the tool 1002 from the unlocking device 1004 andthe tool is unlocked at process block 1018. When the unlock command isnot received, or when a non-valid request message is received by theunlocking device 1004, an error is displayed on the unlocking device1004 at process block 1020.

In some embodiments, the block diagram of the power tool 200 in FIG. 2applies to the tool 1002 and the block diagram of the unlocking device400 of FIG. 4 applies to the unlocking device 1004. For example, thevarious functions attributed to the unlocking device 1004 (e.g.,receiving a unit ID, sending credentials, determining whether an unlockcommand is received, transmitting a signed unlock command to the tool)may be implemented with a processing circuit similar to the processingcircuit 402 of FIG. 4. Similarly, the various functions attributed tothe tool 1002 (e.g., sending a unique ID, receiving a signed unlockcommand and unlocking,) may be implemented with a processing circuitsimilar to the processing circuit 202 of FIG. 2.

We claim:
 1. A method for controlling an activation state of anelectronic power tool device, the method comprising: waking theelectronic power tool device by providing a stimulus to a wake-up sensorof the electronic power tool device; receiving, by an activation device,information associated with the electronic power tool device;generating, by the activation device, an activation state code based onthe received information; transmitting, by the activation device, theactivation state code to the electronic power tool device, wherein theactivation state code is configured to control the activation state ofthe electronic power tool device upon being received at the electronicpower tool device, and the activation state includes an unlock state ora lock state.
 2. The method of claim 1, wherein the stimulus at thewake-up sensor is out-of-band with respect to the transmitting of theactivation state code.
 3. The method of claim 1, wherein the wake-upsensor includes an identification tag, the stimulus includes atransaction being conducted with the identification tag, the wake-upsensor is configured to generate a wake signal responsive to thetransaction being conducted with the identification tag, and the methodfurther comprises: initiating, by the activation device, thetransaction.
 4. The method of claim 3, wherein the transaction includesa read transaction.
 5. The method of claim 3, wherein: the transactionincludes one of a radio frequency identification transaction or a nearfield communication transaction; and the transmitting, by the activationdevice, includes transmitting the activation state code using a wirelessprotocol different than a protocol used for the transaction.
 6. Themethod of claim 1, wherein: the wake-up sensor includes a magnetic stripreader; the stimulus includes a transaction being conducted with themagnetic strip reader; and the transaction causes the wake-up sensor togenerate a wake signal.
 7. The method of claim 1, wherein: the wake-upsensor includes a motion sensor; the stimulus includes a predeterminedmotion capable of being detected by the motion sensor; and thepredetermined motion causes the wake-up sensor to generate a wakesignal.
 8. The method of claim 1, wherein the stimulus causes thewake-up sensor to generate a wake signal to wake the electronic powertool device for a predetermined time period.
 9. A method for controllingan activation state of an electronic power tool device, the methodcomprising: waking the electronic power tool device responsive to astimulus at a wake-up sensor of the electronic power tool device;sending, by the electronic power tool device, information associatedwith the electronic power tool device to an activation device; andreceiving, by the electronic power tool device, an activation state codebased on the received information from the activation device, whereinthe activation state code is configured to control the activation stateof the electronic power tool device upon being received at theelectronic power tool device and the activation state includes an unlockstate or a lock state.
 10. The method of claim 9, wherein the stimulusat the wake-up sensor is out-of-band with respect to the receiving ofthe activation state code.
 11. The method of claim 9, wherein: thewake-up sensor includes an identification tag; the stimulus includes atransaction being conducted with the identification tag; and the wake-upsensor is configured to generate a wake signal responsive to thetransaction being conducted with the identification tag.
 12. The methodof claim 11, wherein the transaction includes a read transaction. 13.The method of claim 11, wherein: the transaction includes one of a radiofrequency identification transaction or a near field communicationtransaction; and the receiving, by the electronic power tool device,includes receiving the activation state code using a wireless protocoldifferent than a protocol used for the transaction.
 14. The method ofclaim 9, wherein: the wake-up sensor includes a magnetic strip reader;the stimulus includes a transaction being conducted with the magneticstrip reader; and the wake-up sensor is configured to generate a wakesignal responsive to the transaction.
 15. The method of claim 9,wherein: the wake-up sensor includes a motion sensor; the stimulusincludes a predetermined motion being detected by the motion sensor; andthe wake-up sensor is configured to generate a wake signal responsive tothe predetermined motion being detected by the motion sensor.
 16. Themethod of claim 9, wherein the wake-up sensor is configured to generatea wake signal to wake the electronic power tool device responsive to thestimulus, and the method further comprises: withdrawing the wake signalresponsive to the activation state code not being received within apredetermined time period.
 17. An electronic power tool device,comprising: an electronic processor; a communication interface incommunication with the electronic processor; and a wake-up sensorconfigured to generate a wake signal for activating the communicationinterface and the electronic processor responsive to a stimulus,wherein: the communication interface is configured to: receive a firstelectronic message that includes an activation state, and transmit thefirst electronic message to the electronic processor; and the electronicprocessor is configured to: control the activation state of theelectronic power tool device to allow or prevent operation of theelectronic power tool device based on the first electronic message. 18.The electronic power tool device of claim 17, wherein the stimulus atthe wake-up sensor is out-of-band with respect to the first electronicmessage received at the communication interface.
 19. The electronicpower tool device of claim 17, wherein: the wake-up sensor includes anidentification tag; the stimulus includes a transaction being conductedwith the identification tag; and the wake-up sensor is configured togenerate the wake signal responsive to the transaction being conductedwith the identification tag.
 20. The electronic power tool device ofclaim 19, wherein the communication interface is configured tocommunicate using a wireless protocol different than a protocol used forthe transaction.